package com.hqyj.project.mapper;

import com.hqyj.project.dto.MenuListDto;
import com.hqyj.project.entity.User;
import com.hqyj.project.vo.EmailVo;
import com.hqyj.project.vo.PageUserVo;
import com.hqyj.project.vo.UserAllVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface UserMapper {
    User selectUserByUserName(String userName);

    String selectUserSalt(String userName);

    //返回菜单列表
    List<MenuListDto> selectUserMenuList(String userName);

    //查询所有员工信息
    List<UserAllVo> selectUserAll();

    //进行分页查询所有用户信息进行修改
    List<UserAllVo> selectUserAll(PageUserVo pageUserVo);

    //查询页面总条数
    Integer selectUserTotal(@Param("userRealName") String userRealName,@Param("userTel") String userTel);

    //删除用户
    Integer deleteUser(Integer userId);

    //修改用户信息
    Integer updateUser(UserAllVo userAllVo);

    //新增用户
    Integer insertUser(UserAllVo userAllVo);
    //通过账号和密码，进行在中间插入用户角色
    Integer insertRole(@Param("userRealName")String userRealName,@Param("userPwd") String md5Pwd,@Param("roleName") String roleName);


    //查询登录用户的个人信息
    List<UserAllVo> selectLoginUser(String userName);
    //登录用户修改个人信息
    Integer updateLoginUser(UserAllVo userAllVo);

    UserAllVo emailCode(@Param("userName") String userName,@Param("useEmail") String userEmail);

    Integer updateUserPwd(EmailVo emailvo);
}
